<!DOCTYPE html>
<html lang=zh>
<head>
    <meta charset="utf-8">
    
    <title>Git命令“从入门到放弃” | LErry</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
    <meta name="description" content="git 现在的火爆程度非同一般，它被广泛地用在大型开源项目中，但是初学者非常容易“从入门到放弃”，各种命令各种参数，天哪，宝宝要吓哭了。实际上新手并不需要了解所有命令的用途   ，学习是需要一个循序渐进的过程，你可以从强大的命令开始。这个是给新手或熟悉图形工具的老鸟们看的教程，“从入门到放弃”   一、基本了解  git命令是一些命令行工具的集合，它可以用来跟踪，记录文件的变动。比如你可以进行">
<meta name="keywords" content="git,github,版本控制系统">
<meta property="og:type" content="article">
<meta property="og:title" content="Git命令“从入门到放弃”">
<meta property="og:url" content="https://www.itchina.top/2018/04/20/Git命令“从入门到放弃”/index.html">
<meta property="og:site_name" content="LErry">
<meta property="og:description" content="git 现在的火爆程度非同一般，它被广泛地用在大型开源项目中，但是初学者非常容易“从入门到放弃”，各种命令各种参数，天哪，宝宝要吓哭了。实际上新手并不需要了解所有命令的用途   ，学习是需要一个循序渐进的过程，你可以从强大的命令开始。这个是给新手或熟悉图形工具的老鸟们看的教程，“从入门到放弃”   一、基本了解  git命令是一些命令行工具的集合，它可以用来跟踪，记录文件的变动。比如你可以进行">
<meta property="og:locale" content="zh-CN">
<meta property="og:image" content="http://59caifu.com/d/file/2016-10-24/ef7
e216ba6fcb95732d8d3aaa065e78c.png">
<meta property="og:image" content="http://59caifu.com/d/file/2016-10-24/739
75b7db41d4d886c62cd1d1e839508.jpg">
<meta property="og:updated_time" content="2018-04-25T12:25:55.592Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Git命令“从入门到放弃”">
<meta name="twitter:description" content="git 现在的火爆程度非同一般，它被广泛地用在大型开源项目中，但是初学者非常容易“从入门到放弃”，各种命令各种参数，天哪，宝宝要吓哭了。实际上新手并不需要了解所有命令的用途   ，学习是需要一个循序渐进的过程，你可以从强大的命令开始。这个是给新手或熟悉图形工具的老鸟们看的教程，“从入门到放弃”   一、基本了解  git命令是一些命令行工具的集合，它可以用来跟踪，记录文件的变动。比如你可以进行">
<meta name="twitter:image" content="http://59caifu.com/d/file/2016-10-24/ef7
e216ba6fcb95732d8d3aaa065e78c.png">
    

    
        <link rel="alternate" href="/atom.xml" title="LErry" type="application/atom+xml" />
    

    
        <link rel="icon" href="/css/images/shortcut_icon.png" />
    

    <link rel="stylesheet" href="/libs/font-awesome/css/font-awesome.min.css">
    <link rel="stylesheet" href="/libs/open-sans/styles.css">
    <link rel="stylesheet" href="/libs/source-code-pro/styles.css">

    <link rel="stylesheet" href="/css/style.css">

    <script src="/libs/jquery/2.1.3/jquery.min.js"></script>
    
    
        <link rel="stylesheet" href="/libs/lightgallery/css/lightgallery.min.css">
    
    
        <link rel="stylesheet" href="/libs/justified-gallery/justifiedGallery.min.css">
    
    
    
    


</head>

<body>
    <div id="container">
        <header id="header">
    <div id="header-main" class="header-inner">
        <div class="outer">
            <a href="/" id="logo">
                <i class="logo"></i>
                <span class="site-title">LErry</span>
            </a>
            <nav id="main-nav">
                
                    <a class="main-nav-link" href="/.">主页</a>
                
                    <a class="main-nav-link" href="/freebooks">书籍</a>
                
                    <a class="main-nav-link" href="/tags">标签</a>
                
                    <a class="main-nav-link" href="/archives">归档</a>
                
                    <a class="main-nav-link" href="/aboutme">关于</a>
                
            </nav>
            
                
                <nav id="sub-nav">
                    <div class="profile" id="profile-nav">
                        <a id="profile-anchor" href="javascript:;">
                            <img class="avatar" src="/css/images/avatar.png" />
                            <i class="fa fa-caret-down"></i>
                        </a>
                    </div>
                </nav>
            
            <div id="search-form-wrap">

    <form class="search-form">
        <input type="text" class="ins-search-input search-form-input" placeholder="搜索" />
        <button type="submit" class="search-form-submit"></button>
    </form>
    <div class="ins-search">
    <div class="ins-search-mask"></div>
    <div class="ins-search-container">
        <div class="ins-input-wrapper">
            <input type="text" class="ins-search-input" placeholder="想要查找什么..." />
            <span class="ins-close ins-selectable"><i class="fa fa-times-circle"></i></span>
        </div>
        <div class="ins-section-wrapper">
            <div class="ins-section-container"></div>
        </div>
    </div>
</div>
<script>
(function (window) {
    var INSIGHT_CONFIG = {
        TRANSLATION: {
            POSTS: '文章',
            PAGES: '页面',
            CATEGORIES: '分类',
            TAGS: '标签',
            UNTITLED: '(未命名)',
        },
        ROOT_URL: '/',
        CONTENT_URL: '/content.json',
    };
    window.INSIGHT_CONFIG = INSIGHT_CONFIG;
})(window);
</script>
<script src="/js/insight.js"></script>

</div>
        </div>
    </div>
    <div id="main-nav-mobile" class="header-sub header-inner">
        <table class="menu outer">
            <tr>
                
                    <td><a class="main-nav-link" href="/.">主页</a></td>
                
                    <td><a class="main-nav-link" href="/freebooks">书籍</a></td>
                
                    <td><a class="main-nav-link" href="/tags">标签</a></td>
                
                    <td><a class="main-nav-link" href="/archives">归档</a></td>
                
                    <td><a class="main-nav-link" href="/aboutme">关于</a></td>
                
                <td>
                    
    <div class="search-form">
        <input type="text" class="ins-search-input search-form-input" placeholder="搜索" />
    </div>

                </td>
            </tr>
        </table>
    </div>
</header>

        <div class="outer">
            
                

<aside id="profile">
    <div class="inner profile-inner">
        <div class="base-info profile-block">
            <img id="avatar" src="/css/images/avatar.png" />
            <h2 id="name">LErry Li</h2>
            <h3 id="title">知我者谓我心忧，不知我者谓我何求</h3>
            <span id="location"><i class="fa fa-map-marker"></i>Shanghai, China</span>
            <a id="follow" target="_blank" href="https://github.com/lerry903">关注我</a>
        </div>
        <div class="article-info profile-block">
            <div class="article-info-block">
                65
                <span>文章</span>
            </div>
            <div class="article-info-block">
                54
                <span>标签</span>
            </div>
        </div>
        
        <div class="profile-block social-links">
            <table>
                <tr>
                    
                    
                    <td>
                        <a href="https://github.com/lerry903" target="_blank" title="github" class=tooltip>
                            <i class="fa fa-github"></i>
                        </a>
                    </td>
                    
                    <td>
                        <a href="mailto:lerryli@foxmail.com" target="_blank" title="envelope" class=tooltip>
                            <i class="fa fa-envelope"></i>
                        </a>
                    </td>
                    
                    <td>
                        <a href="http://wpa.qq.com/msgrd?v=3&uin=824444270&site=qq&menu=yes" target="_blank" title="qq" class=tooltip>
                            <i class="fa fa-qq"></i>
                        </a>
                    </td>
                    
                    <td>
                        <a href="https://weibo.com/5941010376" target="_blank" title="weibo" class=tooltip>
                            <i class="fa fa-weibo"></i>
                        </a>
                    </td>
                    
                    <td>
                        <a href="/atom.xml" target="_blank" title="rss" class=tooltip>
                            <i class="fa fa-rss"></i>
                        </a>
                    </td>
                    
                </tr>
            </table>
        </div>
        
    </div>
</aside>

            
            <section id="main"><article id="post-Git命令“从入门到放弃”" class="article article-type-post" itemscope itemprop="blogPost">
    <div class="article-inner">
        
        
            <header class="article-header">
                
    
        <h1 class="article-title" itemprop="name">
            Git命令“从入门到放弃”
        </h1>
    

                
                    <div class="article-meta">
                        
    <div class="article-date">
        <i class="fa fa-calendar"></i>
        <a href="/2018/04/20/Git命令“从入门到放弃”/">
            <time datetime="2018-04-19T16:34:21.419Z" itemprop="datePublished">2018-04-20</time>
        </a>
    </div>


                        
    <div class="article-category">
    	<i class="fa fa-folder"></i>
        <a class="article-category-link" href="/categories/Git/">Git</a>
    </div>

                        
    <div class="article-tag">
        <i class="fa fa-tag"></i>
        <a class="tag-link" href="/tags/git/">git</a>, <a class="tag-link" href="/tags/github/">github</a>, <a class="tag-link" href="/tags/版本控制系统/">版本控制系统</a>
    </div>

                    </div>
                
            </header>
        
        
        <div class="article-entry" itemprop="articleBody">
        
            
            <p><img src="http://59caifu.com/d/file/2016-10-24/ef7
e216ba6fcb95732d8d3aaa065e78c.png" alt="wKioL1ehpxDzS1PRAADgEdjw0so255.png"></p>
<p><strong> git 现在的火爆程度非同一般，它被广泛地用在大型开源项目中，但是初学者非常容易“从入门到放弃”，各种命令各种参数，天哪，宝宝要吓哭了。实际上新手并不需要了解所有命令的用途 </strong> <strong> ，学习是需要一个循序渐进的过程，你可以从强大的命令开始。这个是给新手或熟悉图形工具的老鸟们看的教程，“从入门到放弃” </strong></p>
<p><strong> 一、基本了解 </strong></p>
<p>git命令是一些命令行工具的集合，它可以用来跟踪，记录文件的变动。比如你可以进行保存，比对，分析，合并等等。这个过程被称之为版本控制。已经有一系列的版本控制<br>系统，比如SVN, Mercurial, Perforce, CVS, Bitkeepe等等。</p>
<p>Git是分布式的，这意味着它并不依赖于中心服务器，任何一台机器都可以有一个本地版本的控制系统，我们称之为仓库。如果是多人协作的话，你需要还需要一个线上仓库，<br>用来同步信息，这就是GitHub, BitBucket的工作。</p>
<p><strong> 1.安装Git </strong></p>
<p>安装git非常直接,Linux - 打开控制台，然后通过包管理安装，在Ubuntu上命令是：</p>
<pre><code>sudo apt-get install git-all
</code></pre><p>Windows - 推荐使用git for windows，它包括了图形工具以及命令行模拟器。</p>
<p>OS X - 最简单的方式是使用homebrew安装，命令行执行</p>
<pre><code>&gt;brew install git
</code></pre><p>如果你是在是先用图形工具的话，那么推荐你使用Github desktop,Sourcetree。但我还是推荐你使用命令行，下面的内容就都是命令行的。</p>
<p><strong> 2.配置Git </strong></p>
<p>安装完git,首要任务是配置我们的信息，最重要的是用户名及邮箱，打开终端，执行以下命令。</p>
<pre><code>$ git config --global user.name &quot;My Name&quot;  $ git config --global user.email myEmail@example.com 
</code></pre><p>配置好这两项，用户就能知道谁做了什么，并且一切都更有组织性了不是吗?</p>
<p><strong> 3.创建一个新仓库 - git init </strong></p>
<p>git 会把所有文件以及历史记录保存在你的项目中，创建一个新的仓库，首先要去到项目路径，执行 git<br>init。然后git会创建一个隐藏的文件夹.git，所有的信息都储存在其中。</p>
<p>在桌面创建一个联系文件夹 git_exercise, 打开终端：</p>
<pre><code>$ cd Desktop/git_exercise/  $ git init 
</code></pre><p>OK，现在项目还什么都没有，新建一个 hello.txt 文件试试~</p>
<p><strong> 4.检查状态 - git status </strong></p>
<p>git status 是另一个非常重要的命令，它会告诉我们创库的当前状态：是否为最新代码，有什么更新等等执行git status:</p>
<pre><code>$ git status    On branch master    Initial commit    Untracked files:    (use &quot;git add ...&quot; to include in what will be committed)    hello.txt 
</code></pre><p>git<br>告诉我们，hello.txt尚未跟踪，这是因为这个文件是新的，git不知道是应该跟踪它的变动呢，还是直接忽略不管呢。为了跟踪我们的新文件，我们需要暂存它。</p>
<p><strong> 5.暂存 - git add </strong></p>
<p>git 有个概念叫 暂存区，你可以把它看成一块空白帆布，包裹着所有你可能会提交的变动。它一开始为空，你可以通过 git add 命令添加内容，并使用 git<br>commit 提交。</p>
<p>这个例子中只有一个文件：</p>
<pre><code>$ git add hello.txt
</code></pre><p>如果需要提交目录下的所有内容，可以这样：</p>
<pre><code>$ git add -A
</code></pre><p>再次使用git status查看：</p>
<pre><code>$ git status   On branch master   Initial commit   Changes to be committed:   (use &quot;git rm --cached ...&quot; to unstage)    new file: hello.txt&lt;br&gt;&lt;/span&gt; 
</code></pre><p>我们的文件已经提交了。状态信息还会告诉我们暂存区文件发生了什么变动，不过这里我们提交的是一个全新文件。</p>
<p><strong> 6.提交 - git commit </strong></p>
<p>一次提交代表着我们的仓库到了一个交付状态，通常是完成了某一块小功能。它就像是一个快照，允许我们像使用时光机一样回到旧时光。</p>
<p>创建提交，需要我们提交东西到暂存区(git add)，然后：</p>
<pre><code>$ git commit -m &quot;Initial commit.&quot;
</code></pre><p>这就创建了一次提交，-m “Initial commit.”表示对这次提交的描述，建议使用有意义的描述性信息。</p>
<p><strong> 二、远端仓库 </strong></p>
<p>到目前为止，我们的操作都是在本地的，它存在于.git文件中。为了能够协同开发，我们需要把代码发布到远端仓库上。</p>
<p><strong> 1.链接远端仓库 - git remote add </strong></p>
<p>为了能够上传到远端仓库，我们需要先建立起链接，这篇教程中，远端仓库的地址为：<a href="https://github.com/tutorialzine/awesome-" target="_blank" rel="noopener">https://github.com/tutorialzine/awesome-</a><br>project,但你应该自己在Github, BitBucket上搭建仓库，自己一步一步尝试。</p>
<p>添加测试用的远端仓库</p>
<pre><code>$ git remote add origin https://github.com/tutorialzine/awesome-project.git
</code></pre><p>一个项目可以同时拥有好几个远端仓库为了能够区分，通常会起不同的名字，通常主远端仓库被称为origin。</p>
<p><strong> 2.上传到服务器 - git push </strong></p>
<p>每次我们要提交代码到服务器上时，都会使用到git push。 git push命令会有两个参数，远端仓库的名字，以及分支的名字：</p>
<pre><code>$ git push origin master   Counting objects:  done.  Writing objects: 100% (3/3), 212 bytes | 0 bytes/s, done.  Total 3 (delta 0), reused 0 (delta 0)To * [new branch] master -&gt; master 
</code></pre><p>取决于你使用的服务器，push过程你可能需要验证身份。如果没有出差错，现在使用浏览器去你的远端分支上看，hello.txt已经在那里等着你了。</p>
<p><strong> 3.克隆仓库 - git clone </strong></p>
<p>放在Github上的开源项目，人们可以看到你的代码。可以使用 git clone进行下载到本地。</p>
<pre><code>$ git clone https://github.com/tutorialzine/awesome-project.git 
</code></pre><p>本地也会创建一个新的仓库，并自动将github上的分支设为远端分支。</p>
<p><strong> 4.从服务器上拉取代码 - git pull </strong></p>
<p>如果你更新了代码到仓库上，其他人可以通过git pull命令拉取你的变动：</p>
<pre><code>$ git pull origin master    From    * branch master -&gt; FETCH_HEAD    Already up-to-date. 
</code></pre><p>因为暂时没有其他人提交，所有没有任何变动</p>
<p><strong> 三、分支 </strong></p>
<p><img src="http://59caifu.com/d/file/2016-10-24/739
75b7db41d4d886c62cd1d1e839508.jpg" alt="wKioL1ehqO3zI9SHAABj35ny7Mk776.jpg"></p>
<p>当你在做一个新功能的时候，最好是在一个独立的区域上开发，通常称之为分支。分支之间相互独立，并且拥有自己的历史记录。这样做的原因是：</p>
<p>稳定版本的代码不会被破坏</p>
<p>不同的功能可以由不同开发者同时开发。</p>
<p>开发者可以专注于自己的分支，不用担心被其他人破坏了环境</p>
<p>在不确定之前，同一个特性可以拥有几个版本，便于比较</p>
<p><strong> 1.创建新分支 - git branch </strong></p>
<p>每一个仓库的默认分支都叫master, 创建新分支可以这样：</p>
<pre><code>$ git branch amazing_new_feature 
</code></pre><p>创建了一个名为amazing_new_feature的新分支，它跟当前分支同一起点</p>
<p><strong> 2.切换分支 - git checkout </strong></p>
<p>单独使用git branch，可以查看分支状态：</p>
<pre><code>$ git branch amazing_new_feature * master
</code></pre><ul>
<li>号表示当前活跃分支为master，使用git checkout切换分支。 </li>
</ul>
<pre><code>$ git checkout amazing_new_feature 
</code></pre><p><strong> 3.合并分支 - git merge </strong></p>
<p>我们的 amazing_new_feature 分支的任务是增加一个featuer.txt。我们来创建，添加到暂存区，提交。</p>
<pre><code>$ git add feature.txt    $ git commit -m &quot;New feature complete.&quot; 
</code></pre><p>新分支任务完成了，回到master分支</p>
<pre><code>$ git checkout master 
</code></pre><p>现在去查看文件，你会发现，之前创建的feature.txt文件不见了，因为master分支上并没有feature.txt。使用git merge 把<br>amazing_new_feature 分支合并到master上。</p>
<pre><code>$ git merge amazing_new_feature 
</code></pre><p>ok!然后再把amazing_new_feature 分支删掉吧。</p>
<pre><code>$ git branch -d amazing_new_feature 
</code></pre><p><strong> 四、高级 </strong></p>
<p>下面我们来说些比较高级并且使用的技巧。</p>
<p><strong> 1.比对两个不同提交之间的差别 </strong></p>
<p>每次提交都有一个唯一id，查看所有提交和他们的id，可以使用 git log:</p>
<pre><code>$ git log commit ba25c0ff30e1b2f0259157b42b9f8f5d174d80d7    Author: Tutorialzine   Date: Mon May 30 17:15:28 2016 +0300   New feature complete   commit b10cc1238e355c02a044ef9f9860811ff605c9b4   Author: Tutorialzine   Date: Mon May 30 16:30:04 2016 +0300   Added content to hello.txt   commit 09bd8cc171d7084e78e4d118a2346b7487dca059   Author: Tutorialzine&lt;br&gt;Date: Sat May 28 17:52:14 2016 +0300   Initial commit 
</code></pre><p>id 很长，但是你并不需要复制整个字符串，前一小部分就够了。</p>
<p>查看某一次提交更新了什么，使用 git show：</p>
<pre><code>$ git show b10cc123   \\commit b10cc1238e355c02a044ef9f9860811ff605c9b4   Author: Tutorialzine   Date: Mon May 30 16:30:04 2016 +0300   Added content to hello.txt   diff --git a/hello.txt b/hello.txt   index e69de29..b546a21 100644   --- a/hello.txt   +++ b/hello.txt   @@ -0,0 +1@@   +Nice weather today, isn&apos;t it? 
</code></pre><p>查看两次提交的不同，可以使用git diff [commit-from]..[commit-to] 语法：</p>
<pre><code>$ git diff 09bd8cc..ba25c0ff        diff --git a/feature.txt b/feature.txt   new file mode 100644        index 0000000..e69de29        diff --git a/hello.txt b/hello.txt        index e69de29..b546a21 100644        --- a/hello.txt        +++ b/hello.txt        @@-0,0 +1@@&lt;br&gt;+Nice weather today, isn&apos;t it? 
</code></pre><p>比较首次提交和最后一次提交，我们可以看到所有的更改。当然使用git difftool命令更加方便。</p>
<p><strong> 2.回滚某个文件到之前的版本 </strong></p>
<p>git 允许我们将某个特定的文件回滚到特定的提交，使用的也是 git checkout。</p>
<p>下面的例子，我们将hello.txt回滚到最初的状态，需要指定回滚到哪个提交，以及文件的全路径。</p>
<p>$ git checkout 09bd8cc1 hello.txt</p>
<p><strong> 3.回滚提交 </strong></p>
<p>如果你发现最新的一次提交完了加某个文件，你可以通过 git commit —amend来修复，它会把最新的提交打回暂存区，并尝试重新提交。</p>
<p>如果是更复杂的情况，比如不是最新的提交了。那你可以使用git revert。</p>
<p>最新的一次提交别名也叫HEAD。</p>
<pre><code>$ git revert HEAD 
</code></pre><p>其他提交可以使用id：</p>
<pre><code>$ git revert b10cc123 
</code></pre><p>混滚提交时，发生冲突是非常频繁的。当文件被后面的提交修改了以后，git不能正确回滚。</p>
<p><strong> 4.解决合并冲突 </strong></p>
<p>冲突经常出现在合并分支或者是拉去别人的代码。有些时候git能自动处理冲突，但大部分需要我们手动处理。</p>
<p>比如John 和 Tim 分别在各自的分支上写了两部分代码。</p>
<p>John 喜欢 for:</p>
<pre><code>// Use a for loop to console.log contents.    for(var i=0; i&lt;arr.length; i++) {    console.log(arr[i]);    } 
</code></pre><p>Tim 喜欢 forEach:</p>
<pre><code>// Use forEach to console.log contents.    arr.forEach(function(item) {    console.log(item);    }); 
</code></pre><p>假设John 现在去拉取 Tim的代码：</p>
<pre><code>$ git merge tim_branch  Auto-merging print_array.js  CONFLICT (content): Merge conflict in print_array.js  Automatic merge failed; fix conflicts and then commit the result. 
</code></pre><p>这时候git并不知道如何解决冲突，因为他不知道John和Tim谁写得更好。</p>
<p>于是它就在代码中插入标记。</p>
<pre><code>&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD  // Use a for loop to console.log contents.  for(var i=0; i&lt;arr.length; i++) {  console.log(arr[i]);   }   =======   // Use forEach to console.log contents.  arr.forEach(function(item) {  console.log(item);  });  &gt;&gt;&gt;&gt;&gt;&gt;&gt;; Tim s commit.
</code></pre><p>==== 号上方是当前最新一次提交，下方是冲突的代码。我们需要解决这样的冲突，经过组委会成员讨论，一致认定，在座的各位都是垃圾!两个都不要。改成下面的代码。</p>
<pre><code>// Not using for loop or forEach.    // Use Array.toString() to console.log contents.console.log(arr.toString()); 
</code></pre><p>好了，再提交一下：</p>
<pre><code>$ git add -A $ git commit -m &quot;Array printing conflict resolved.&quot;
</code></pre><p>如果在大型项目中，这个过程可能容易出问题。你可以使用GUI 工具来帮助你。使用 git mergetool。</p>
<p><strong> 5.配置 .gitignore </strong></p>
<p>大部分项目中，会有写文件，文件夹是我们不想提交的。为了防止一不小心提交，我们需要gitignore文件：</p>
<p>在项目根目录创建.gitignore文件</p>
<p>在文件中列出不需要提交的文件名，文件夹名，每个一行</p>
<p>.gitignore文件需要提交，就像普通文件一样</p>
<p>通常会被ignore的文件有：</p>
<pre><code>log文件  task runner builds  node_modules等文件夹  IDEs生成的文件  个人笔记 
</code></pre><p>例如：</p>
<pre><code>*.log  build/  node_modules/  .idea/  my_notes.txt 
</code></pre>
        
        </div>
        <footer class="article-footer">
            <div class="share-container">


    <div class="bdsharebuttonbox">
    <a href="#" class="bds_more" data-cmd="more">分享到：</a>
    <a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间">QQ空间</a>
    <a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博">新浪微博</a>
    <a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博">腾讯微博</a>
    <a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网">人人网</a>
    <a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信">微信</a>
</div>
<script>
window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{"bdSize":16}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
</script>
<style>
    .bdshare_popup_box {
        border-radius: 4px;
        border: #e1e1e1 solid 1px;
    }
    .bdshare-button-style0-16 a,
    .bdshare-button-style0-16 .bds_more {
        padding-left: 20px;
        margin: 6px 10px 6px 0;
    }
    .bdshare_dialog_list a,
    .bdshare_popup_list a,
    .bdshare_popup_bottom a {
        font-family: 'Microsoft Yahei';
    }
    .bdshare_popup_top {
        display: none;
    }
    .bdshare_popup_bottom {
        height: auto;
        padding: 5px;
    }
</style>


</div>

            
    
        <a href="https://www.itchina.top/2018/04/20/Git命令“从入门到放弃”/#comments" id="sourceId::2018/04/20/Git命令“从入门到放弃”/" class="article-comment-link cy_cmt_count">评论</a>
    

        </footer>
    </div>
    
        
<nav id="article-nav">
    
        <a href="/2018/04/20/HTTP 请求/" id="article-nav-newer" class="article-nav-link-wrap">
            <strong class="article-nav-caption">上一篇</strong>
            <div class="article-nav-title">
                
                    HTTP 请求
                
            </div>
        </a>
    
    
        <a href="/2018/04/20/Ext JS 6学习文档-第3章-基础组件/" id="article-nav-older" class="article-nav-link-wrap">
            <strong class="article-nav-caption">下一篇</strong>
            <div class="article-nav-title">Ext JS 6学习文档-第3章-基础组件</div>
        </a>
    
</nav>


    
</article>


    
    
        <section id="comments">
    <div id="SOHUCS" sid="2018/04/20/Git命令“从入门到放弃”/"></div>
</section>
    

</section>
            
                
<aside id="sidebar">
   
        
    <div class="widget-wrap">
        <h3 class="widget-title">最新文章</h3>
        <div class="widget">
            <ul id="recent-post" class="no-thumbnail">
                
                    <li>
                        
                        <div class="item-inner">
                            <p class="item-category"><a class="article-category-link" href="/categories/IDE/">IDE</a></p>
                            <p class="item-title"><a href="/2018/04/20/项目相关的CVS操作/" class="title">项目相关的CVS操作</a></p>
                            <p class="item-date"><time datetime="2018-04-19T16:34:21.467Z" itemprop="datePublished">2018-04-20</time></p>
                        </div>
                    </li>
                
                    <li>
                        
                        <div class="item-inner">
                            <p class="item-category"><a class="article-category-link" href="/categories/J2EE/">J2EE</a></p>
                            <p class="item-title"><a href="/2018/04/20/图片转换PDF文件/" class="title">图片转换PDF文件</a></p>
                            <p class="item-date"><time datetime="2018-04-19T16:34:21.449Z" itemprop="datePublished">2018-04-20</time></p>
                        </div>
                    </li>
                
                    <li>
                        
                        <div class="item-inner">
                            <p class="item-category"><a class="article-category-link" href="/categories/Spring/">Spring</a></p>
                            <p class="item-title"><a href="/2018/04/20/使用 Spring Data JPA 简化 JPA 开发/" class="title">使用 Spring Data JPA 简化 JPA 开发</a></p>
                            <p class="item-date"><time datetime="2018-04-19T16:34:21.448Z" itemprop="datePublished">2018-04-20</time></p>
                        </div>
                    </li>
                
                    <li>
                        
                        <div class="item-inner">
                            <p class="item-category"></p>
                            <p class="item-title"><a href="/2018/04/20/通过Ajax进行POST提交JSON类型的数据到SpringMVC Controller的方法/" class="title">通过Ajax进行POST提交JSON类型的数据到SpringMVC Controller的方法</a></p>
                            <p class="item-date"><time datetime="2018-04-19T16:34:21.448Z" itemprop="datePublished">2018-04-20</time></p>
                        </div>
                    </li>
                
                    <li>
                        
                        <div class="item-inner">
                            <p class="item-category"></p>
                            <p class="item-title"><a href="/2018/04/20/面试感悟----一名3年工作经验的程序员应该具备的技能/" class="title">面试感悟----一名3年工作经验的程序员应该具备的技能</a></p>
                            <p class="item-date"><time datetime="2018-04-19T16:34:21.447Z" itemprop="datePublished">2018-04-20</time></p>
                        </div>
                    </li>
                
            </ul>
        </div>
    </div>

    
        
    <div class="widget-wrap">
        <h3 class="widget-title">分类</h3>
        <div class="widget">
            <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/ActiveMQ/">ActiveMQ</a><span class="category-list-count">7</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/ExtJs/">ExtJs</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/Git/">Git</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/IDE/">IDE</a><span class="category-list-count">4</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/J2EE/">J2EE</a><span class="category-list-count">7</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/J2EE/Spring/">Spring</a><span class="category-list-count">1</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/Linux/">Linux</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/Redis/">Redis</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/Spring/">Spring</a><span class="category-list-count">21</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/cnn图片数据处理、显示/">cnn图片数据处理、显示</a><span class="category-list-count">1</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/cnn图片数据处理、显示/python数据分析/">python数据分析</a><span class="category-list-count">1</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/web前端/">web前端</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/数据库/">数据库</a><span class="category-list-count">3</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/数据库/集群/">集群</a><span class="category-list-count">1</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/集群/">集群</a><span class="category-list-count">2</span></li></ul>
        </div>
    </div>

    
        
    <div class="widget-wrap">
        <h3 class="widget-title">归档</h3>
        <div class="widget">
            <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/04/">四月 2018</a><span class="archive-list-count">65</span></li></ul>
        </div>
    </div>

    
        
    <div class="widget-wrap">
        <h3 class="widget-title">标签</h3>
        <div class="widget">
            <ul class="tag-list"><li class="tag-list-item"><a class="tag-list-link" href="/tags/Apache/">Apache</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Docker/">Docker</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Druid/">Druid</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/ImageToPDF/">ImageToPDF</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Logstash/">Logstash</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Spring-Boot/">Spring Boot</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/activemq/">activemq</a><span class="tag-list-count">7</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/ajax/">ajax</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/angular/">angular</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/cas/">cas</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/docker/">docker</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/exception/">exception</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/ext/">ext</a><span class="tag-list-count">3</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/extjs/">extjs</a><span class="tag-list-count">3</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/find/">find</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/git/">git</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/github/">github</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/ide/">ide</a><span class="tag-list-count">2</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/idea/">idea</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/java/">java</a><span class="tag-list-count">5</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/javascript/">javascript</a><span class="tag-list-count">2</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/jboss/">jboss</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/jmx/">jmx</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/jpa/">jpa</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/linux/">linux</a><span class="tag-list-count">3</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/lombok/">lombok</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/mvc/">mvc</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/mybatis/">mybatis</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/mysql/">mysql</a><span class="tag-list-count">2</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/nginx/">nginx</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/numpy/">numpy</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/seo/">seo</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/server/">server</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/shiro/">shiro</a><span class="tag-list-count">2</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/spring/">spring</a><span class="tag-list-count">17</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/spring-mvc/">spring mvc</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/spring-boo/">spring-boo</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/sql-server/">sql server</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/windows/">windows</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/zookeeper/">zookeeper</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/优化/">优化</a><span class="tag-list-count">2</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/分布式日志/">分布式日志</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/多线程/">多线程</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/工作/">工作</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/异常/">异常</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/异常处理/">异常处理</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/搜索引擎/">搜索引擎</a><span class="tag-list-count">2</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/数据分析/">数据分析</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/汉字转拼音/">汉字转拼音</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/版本控制系统/">版本控制系统</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/程序员/">程序员</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/经验/">经验</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/集群/">集群</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/面试/">面试</a><span class="tag-list-count">1</span></li></ul>
        </div>
    </div>

    
        
    <div class="widget-wrap">
        <h3 class="widget-title">标签云</h3>
        <div class="widget tagcloud">
            <a href="/tags/Apache/" style="font-size: 10px;">Apache</a> <a href="/tags/Docker/" style="font-size: 10px;">Docker</a> <a href="/tags/Druid/" style="font-size: 10px;">Druid</a> <a href="/tags/ImageToPDF/" style="font-size: 10px;">ImageToPDF</a> <a href="/tags/Logstash/" style="font-size: 10px;">Logstash</a> <a href="/tags/Spring-Boot/" style="font-size: 10px;">Spring Boot</a> <a href="/tags/activemq/" style="font-size: 18px;">activemq</a> <a href="/tags/ajax/" style="font-size: 10px;">ajax</a> <a href="/tags/angular/" style="font-size: 10px;">angular</a> <a href="/tags/cas/" style="font-size: 10px;">cas</a> <a href="/tags/docker/" style="font-size: 10px;">docker</a> <a href="/tags/exception/" style="font-size: 10px;">exception</a> <a href="/tags/ext/" style="font-size: 14px;">ext</a> <a href="/tags/extjs/" style="font-size: 14px;">extjs</a> <a href="/tags/find/" style="font-size: 10px;">find</a> <a href="/tags/git/" style="font-size: 10px;">git</a> <a href="/tags/github/" style="font-size: 10px;">github</a> <a href="/tags/ide/" style="font-size: 12px;">ide</a> <a href="/tags/idea/" style="font-size: 10px;">idea</a> <a href="/tags/java/" style="font-size: 16px;">java</a> <a href="/tags/javascript/" style="font-size: 12px;">javascript</a> <a href="/tags/jboss/" style="font-size: 10px;">jboss</a> <a href="/tags/jmx/" style="font-size: 10px;">jmx</a> <a href="/tags/jpa/" style="font-size: 10px;">jpa</a> <a href="/tags/linux/" style="font-size: 14px;">linux</a> <a href="/tags/lombok/" style="font-size: 10px;">lombok</a> <a href="/tags/mvc/" style="font-size: 10px;">mvc</a> <a href="/tags/mybatis/" style="font-size: 10px;">mybatis</a> <a href="/tags/mysql/" style="font-size: 12px;">mysql</a> <a href="/tags/nginx/" style="font-size: 10px;">nginx</a> <a href="/tags/numpy/" style="font-size: 10px;">numpy</a> <a href="/tags/seo/" style="font-size: 10px;">seo</a> <a href="/tags/server/" style="font-size: 10px;">server</a> <a href="/tags/shiro/" style="font-size: 12px;">shiro</a> <a href="/tags/spring/" style="font-size: 20px;">spring</a> <a href="/tags/spring-mvc/" style="font-size: 10px;">spring mvc</a> <a href="/tags/spring-boo/" style="font-size: 10px;">spring-boo</a> <a href="/tags/sql-server/" style="font-size: 10px;">sql server</a> <a href="/tags/windows/" style="font-size: 10px;">windows</a> <a href="/tags/zookeeper/" style="font-size: 10px;">zookeeper</a> <a href="/tags/优化/" style="font-size: 12px;">优化</a> <a href="/tags/分布式日志/" style="font-size: 10px;">分布式日志</a> <a href="/tags/多线程/" style="font-size: 10px;">多线程</a> <a href="/tags/工作/" style="font-size: 10px;">工作</a> <a href="/tags/异常/" style="font-size: 10px;">异常</a> <a href="/tags/异常处理/" style="font-size: 10px;">异常处理</a> <a href="/tags/搜索引擎/" style="font-size: 12px;">搜索引擎</a> <a href="/tags/数据分析/" style="font-size: 10px;">数据分析</a> <a href="/tags/汉字转拼音/" style="font-size: 10px;">汉字转拼音</a> <a href="/tags/版本控制系统/" style="font-size: 10px;">版本控制系统</a> <a href="/tags/程序员/" style="font-size: 10px;">程序员</a> <a href="/tags/经验/" style="font-size: 10px;">经验</a> <a href="/tags/集群/" style="font-size: 10px;">集群</a> <a href="/tags/面试/" style="font-size: 10px;">面试</a>
        </div>
    </div>

    
        
    <div class="widget-wrap widget-list">
        <h3 class="widget-title">链接</h3>
        <div class="widget">
            <ul>
                
                    <li>
                        <a href="http://www.baidu.com">百度</a>
                    </li>
                
            </ul>
        </div>
    </div>


    
    <div id="toTop" class="fa fa-angle-up"></div>
</aside>

            
        </div>
        <!--google 底部广告 -->
<div style="width:100%;text-align: center;clear: both;margin-bottom: 20px;" class="hidden-xs">
    <script async src="http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <!-- 博客footer上方的广告 -->
    <ins class="adsbygoogle"
         style="display:block"
         data-ad-client="ca-pub-8254913025324557"
         data-ad-slot="3369473724"
         data-ad-format="auto"></ins>
    <script>
        (adsbygoogle = window.adsbygoogle || []).push({});
    </script>
</div>
<footer id="footer">
    <div class="outer">
        <div id="footer-info" class="inner">
            &copy;2018 - 2018&nbsp; LErry Li &nbsp;版权所有<br>
			<a href="http://www.miitbeian.gov.cn">沪ICP备17054498号-3</a>
        </div>
    </div>
</footer>
        
    
    <script id="cy_cmt_num" src="https://changyan.sohu.com/upload/plugins/plugins.list.count.js?clientId=cytxPSIHr"></script>
    <script charset="utf-8" type="text/javascript" src="https://changyan.sohu.com/upload/changyan.js" ></script>
    <script type="text/javascript">
    window.changyan.api.config({
    appid: 'cytxPSIHr',
    conf: 'prod_3c92d05d8ba4377e48c5fe27c2159761'
    });
    </script>




    
        <script src="/libs/lightgallery/js/lightgallery.min.js"></script>
        <script src="/libs/lightgallery/js/lg-thumbnail.min.js"></script>
        <script src="/libs/lightgallery/js/lg-pager.min.js"></script>
        <script src="/libs/lightgallery/js/lg-autoplay.min.js"></script>
        <script src="/libs/lightgallery/js/lg-fullscreen.min.js"></script>
        <script src="/libs/lightgallery/js/lg-zoom.min.js"></script>
        <script src="/libs/lightgallery/js/lg-hash.min.js"></script>
        <script src="/libs/lightgallery/js/lg-share.min.js"></script>
        <script src="/libs/lightgallery/js/lg-video.min.js"></script>
    
    
        <script src="/libs/justified-gallery/jquery.justifiedGallery.min.js"></script>
    
    



<!-- Custom Scripts -->
<script src="/js/main.js"></script>

    </div>
</body>
</html>